/**   
 * Copyright © 2021 eSunny Info. Tech Ltd. All rights reserved.
 * 
 * 功能描述：绩效工资核算内容历史记录相关
 * @Package: com.yl.staff.controller 
 * @author: Bai   
 * @date: 2021年2月2日 上午11:02:40 
 */
package com.yl.staff.controller;

import java.math.BigDecimal;
import java.util.List;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import com.yl.staff.dao.MapAccountingContentHistory;
import com.yl.staff.model.BeanAccountingContentHistory;

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;

/**   
* Copyright: Copyright (c) 2021 云邻信息科技
* 
* @ClassName: AccountingContentHistoryController.java
* @Description: 绩效工资核算内容历史记录相关
*
* @version: v1.0.0
* @author: Bai
* @date: 2021年2月2日 上午11:02:40 
*
* Modification History:<br>
* Date         Author          Version            Description
*---------------------------------------------------------*<br>
* 2021年2月2日        Bai             v1.0.0               新建 <br>
*/
/*
 * 功能列表：
* 	Date         Author          Method            				 Description
*	---------------------------------------------------------------------*<br>
*	2020年02月02日     Bai            findAll()        				 					获取绩效工资核算内容历史数据数据列表
* 	2020年02月02日     Bai            findById(int id) 									根据数据编号获取绩效工资核算内容历史数据数据
* 	2020年02月02日     Bai            findByStaffCode(String staffCode)					根据员工编号获取绩效工资核算内容历史数据数据列表
*   2020年02月02日     Bai            findByChangeAmount(BigDecimal changeAmount)    		根据更改额度获取绩效工资核算内容历史数据数据列表
*	2020年02月02日     Bai            findByOriginalAmount(BigDecimal originalAmount)		根据原始额度获取绩效工资核算内容历史数据数据列表
*   2020年02月02日     Bai            findByChangeContent(String changeContent)      		根据更改内容获取绩效工资核算内容历史数据数据列表
*   2020年02月02日     Bai            findByChangeDate(String changeDate)					根据更改日期获取绩效工资核算内容历史数据数据列表
*   2020年02月02日     Bai            findByChangeMultiple(BigDecimal changeMultiple)    根据更改倍数获取绩效工资核算内容历史数据数据列表
*   2020年02月02日     Bai            findByChangeType(String changeType)    				根据更改类型获取绩效工资核算内容历史数据数据列表
*   2020年02月02日     Bai            findByEffectiveDate(String effectiveDate)    		根据生效日期获取绩效工资核算内容历史数据数据列表
*   2020年02月02日     Bai            findByOriginalContent(String originalContent)    	根据原始内容获取绩效工资核算内容历史数据数据列表   
*   2020年02月02日     Bai            findByOriginalMultiple(BigDecimal originalMultiple)	根据原始倍数获取绩效工资核算内容历史数据数据列表
*   2020年02月02日     Bai            delete(int id)										根据数据编号删除数据							
*   2020年02月02日     Bai            up(BeanAccountingContentHistory bach)				更新绩效工资核算内容历史数据(数据编号、员工编号除外)
*   2020年02月02日     Bai            upAll(BeanAccountingContentHistory bach)			更新绩效工资核算内容历史数据(数据编号除外)       
*   2020年02月02日     Bai            add(BeanAccountingContentHistory bach)				根据数据编号删除数据        
 * */
@RestController
@MapperScan("com.yl.staff.dao")
@Api(value = "基础数据接口", tags = "绩效工资核算内容历史记录相关")
public class AccountingContentHistoryController {
	/*
	 * accounting-content-history 数据接口对象
	 * */
	@Autowired
	private MapAccountingContentHistory mapAccountingContentHistory;
	/**
	 * 
	* @Function: AccountingContentHistoryController.java
	* @Description: 获取绩效工资核算内容历史数据数据列表
	*
	* @param:无
	* @return：List<BeanAccountingContentHistory> 绩效工资核算内容历史数据数据集合 OR [] 空集合
	* @throws：异常描述
	*
	* @version: v1.0.0
	* @author: Bai
	* @date: 2021年2月2日 下午4:09:13 
	*
	* Modification History:<br>
	* Date         Author          Version            Description
	*---------------------------------------------------------*<br>
	* 2021年2月2日     Bai           v1.0.0               修改原因 <br>
	 */
	@RequestMapping(value="/accountingContentHistorys",method = RequestMethod.GET)
	@ApiOperation(value = "获取绩效工资核算内容历史数据数据列表")
	public List<BeanAccountingContentHistory> findAll(){
		return mapAccountingContentHistory.selectAll();
	};
	/**
	 * 
	* @Function: AccountingContentHistoryController.java
	* @Description: 根据数据编号查找绩效工资核算内容历史数据数据实体
	*
	* @param: int 数据编号
	* @return：BeanAccountingContentHistory 绩效工资核算内容历史数据数据实体
	* @throws：异常描述
	*
	* @version: v1.0.0
	* @author: Bai
	* @date: 2021年2月2日 下午4:10:09 
	*
	* Modification History:<br>
	* Date         Author          Version            Description
	*---------------------------------------------------------*<br>
	* 2021年2月2日     Bai           		v1.0.0                                新建 <br>
	 */
	@RequestMapping(value="/accountingContentHistoryById",method = RequestMethod.POST)
	@ApiOperation(value = "根据数据编号获取绩效工资核算内容历史数据数据")
	public BeanAccountingContentHistory findById(@ApiParam(name = "id",value="数据编号",required = true) @RequestParam(name="id") int id){
		return mapAccountingContentHistory.selectById(id);
	};
	/**
	 * 
	* @Function: AccountingContentHistoryController.java
	* @Description: 根据员工编号获取绩效工资核算内容历史数据数据列表
	*
	* @param:String 员工编号
	* @return：List<BeanAccountingContentHistory> 绩效工资核算内容历史数据数据集合 OR [] 空集合
	* @throws：异常描述
	*
	* @version: v1.0.0
	* @author: Bai
	* @date: 2021年2月2日 下午4:13:31 
	*
	* Modification History:<br>
	* Date         Author          Version            Description
	*---------------------------------------------------------*<br>
	* 2021年2月2日     Bai               v1.0.0                                 新建<br>
	 */
	@RequestMapping(value="/accountingContentHistoryByStaffCode",method = RequestMethod.POST)
	@ApiOperation(value = "根据员工编号获取绩效工资核算内容历史数据数据列表")
	public List<BeanAccountingContentHistory> findByStaffCode(@ApiParam(name = "staffCode",value="员工编号",required = true) @RequestParam(name="staffCode")  String staffCode){
		return mapAccountingContentHistory.selectByStaffCode(staffCode);
	};
	/**
	 * 
	* @Function: AccountingContentHistoryController.java
	* @Description: 根据更改额度查找绩效工资核算内容历史数据列表
	*
	* @param:BigDecimal 更改额度
	* @return： List<BeanAccountingContentHistory> 绩效工资核算内容历史数据数据集合 OR [] 空集合
	* @throws：异常描述
	*
	* @version: v1.0.0
	* @author: Bai
	* @date: 2021年2月2日 下午4:44:17 
	*
	* Modification History:<br>
	* Date         Author          Version            Description
	*---------------------------------------------------------*<br>
	* 2021年2月2日     Bai          	   v1.0.0                                    新建<br>
	 */
	@RequestMapping(value="/accountingContentHistoryByChangeAmount",method = RequestMethod.POST)
	@ApiOperation(value = "根据更改额度查找绩效工资核算内容历史数据列表")
	public List<BeanAccountingContentHistory> findByChangeAmount(@ApiParam(name = "changeAmount",value="更改额度",required = true) @RequestParam(name="changeAmount")  BigDecimal changeAmount){
		return mapAccountingContentHistory.selectByChangeAmount(changeAmount);
	};
	/**
	 * 
	* @Function: AccountingContentHistoryController.java
	* @Description: 根据原始额度查找绩效工资核算内容历史数据数据
	*
	* @param:BigDecimal 原始额度
	* @return：List<BeanAccountingContentHistory> 绩效工资核算内容历史数据数据集合 OR [] 空集合
	* @throws：异常描述
	*
	* @version: v1.0.0
	* @author: Bai
	* @date: 2021年2月2日 下午4:45:46 
	*
	* Modification History:<br>
	* Date         Author          Version            Description
	*---------------------------------------------------------*<br>
	* 2021年2月2日     Bai              v1.0.0                                   新建 <br>
	 */
	@RequestMapping(value="/accountingContentHistoryByOriginalAmount",method = RequestMethod.POST)
	@ApiOperation(value = "根据原始额度查找绩效工资核算内容历史数据列表")
	public List<BeanAccountingContentHistory> findByOriginalAmount(@ApiParam(name = "originalAmount",value="原始额度",required = true) @RequestParam(name="originalAmount")  BigDecimal originalAmount){
		return mapAccountingContentHistory.selectByOriginalAmount(originalAmount);
	};
	/**
	 * 
	* @Function: AccountingContentHistoryController.java
	* @Description: 根据更改内容查找绩效工资核算内容历史数据列表
	*
	* @param:String 更改内容
	* @return： List<BeanAccountingContentHistory> 绩效工资核算内容历史数据数据集合 OR [] 空集合
	* @throws：异常描述
	*
	* @version: v1.0.0
	* @author: Bai
	* @date: 2021年2月2日 下午4:49:11 
	*
	* Modification History:<br>
	* Date         Author          Version            Description
	*---------------------------------------------------------*<br>
	* 2021年2月2日     Bai              v1.0.0                                   新建<br>
	 */
	@RequestMapping(value="/accountingContentHistoryByChangeContent",method = RequestMethod.POST)
	@ApiOperation(value = "根据更改内容查找绩效工资核算内容历史数据列表")
	public List<BeanAccountingContentHistory> findByChangeContent(@ApiParam(name = "changeContent",value="更改内容",required = true) @RequestParam(name="changeContent") String changeContent){
		return mapAccountingContentHistory.selectByChangeContent(changeContent);
	};
	/**
	 * 
	* @Function: AccountingContentHistoryController.java
	* @Description: 根据更改日期查找绩效工资核算内容历史数据列表
	*
	* @param:无
	* @return：List<BeanAccountingContentHistory> 绩效工资核算内容历史数据数据集合 OR [] 空集合
	* @throws：异常描述
	*
	* @version: v1.0.0
	* @author: Bai
	* @date: 2021年2月2日 下午4:59:32 
	*
	* Modification History:<br>
	* Date         Author          Version            Description
	*---------------------------------------------------------*<br>
	* 2021年2月2日     Bai           v1.0.0               修改原因 <br>
	 */
	@RequestMapping(value="/accountingContentHistoryByChangeDate",method = RequestMethod.POST)
	@ApiOperation(value = "根据更改日期查找绩效工资核算内容历史数据列表")
	public List<BeanAccountingContentHistory> findByChangeDate(@ApiParam(name = "changeDate",value="更改日期",required = true) @RequestParam(name="changeDate") String changeDate){
		return mapAccountingContentHistory.selectByChangeDate(changeDate);
	};
	/**
	 * 
	* @Function: AccountingContentHistoryController.java
	* @Description: 根据更改倍数获取绩效工资核算内容历史数据数据列表
	*
	* @param:描述1描述
	* @return：返回结果描述
	* @throws：异常描述
	*
	* @version: v1.0.0
	* @author: Bai
	* @date: 2021年2月2日 下午5:16:10 
	*
	* Modification History:<br>
	* Date         Author          Version            Description
	*---------------------------------------------------------*<br>
	* 2021年2月2日     Bai           v1.0.0               修改原因 <br>
	 */
	@RequestMapping(value="/accountingContentHistoryByChangeMultiple",method = RequestMethod.POST)
	@ApiOperation(value = "根据更改倍数获取绩效工资核算内容历史数据列表")
	public List<BeanAccountingContentHistory> findByChangeMultiple(@ApiParam(name = "changeMultiple",value="更改倍数",required = true) @RequestParam(name="changeMultiple") BigDecimal changeMultiple){
		return mapAccountingContentHistory.selectByChangeMultiple(changeMultiple);
	};
	/**
	 * 
	* @Function: AccountingContentHistoryController.java
	* @Description: 根据更改类型获取绩效工资核算内容历史数据数据列表
	*
	* @param:String 更改类型：更新、删除、新增
	* @return：List<BeanAccountingContentHistory> 绩效工资核算内容历史数据数据集合 OR [] 空集合
	* @throws：异常描述
	*
	* @version: v1.0.0
	* @author: Bai
	* @date: 2021年2月2日 下午5:30:04 
	*
	* Modification History:<br>
	* Date         Author          Version            Description
	*---------------------------------------------------------*<br>
	* 2021年2月2日     Bai           v1.0.0               修改原因 <br>
	 */
	@RequestMapping(value="/accountingContentHistoryByChangeType",method = RequestMethod.POST)
	@ApiOperation(value = "根据更改类型获取绩效工资核算内容历史数据列表")
	public List<BeanAccountingContentHistory> findByChangeType(@ApiParam(name = "changeType",value="更改类型：更新、删除、新增",required = true) @RequestParam(name="changeType") String changeType){
		return mapAccountingContentHistory.selectByChangeType(changeType);
	};
	/**
	 * 
	* @Function: AccountingContentHistoryController.java
	* @Description: 根据生效日期获取绩效工资核算内容历史数据数据列表
	*
	* @param:无
	* @return: List<BeanAccountingContentHistory> 绩效工资核算内容历史数据数据集合 OR [] 空集合
	* @throws：异常描述
	*
	* @version: v1.0.0
	* @author: Bai
	* @date: 2021年2月3日 上午11:51:57 
	*
	* Modification History:<br>
	* Date         Author          Version            Description
	*---------------------------------------------------------*<br>
	* 2021年2月3日     Bai              v1.0.0                                   新建 <br>
	 */
	@RequestMapping(value="/accountingContentHistoryByEffectiveDate",method = RequestMethod.POST)
	@ApiOperation(value = "根据生效日期获取绩效工资核算内容历史数据列表")
	public List<BeanAccountingContentHistory> findByEffectiveDate(@ApiParam(name = "effectiveDate",value="生效日期",required = true) @RequestParam(name="effectiveDate") String effectiveDate){
		return mapAccountingContentHistory.selectByEffectiveDate(effectiveDate);
	};
	/**
	 * 
	* @Function: AccountingContentHistoryController.java
	* @Description: 根据更改内容获取绩效工资核算内容历史数据数据列表
	*
	* @param:String 更改内容
	* @return：List<BeanAccountingContentHistory> 绩效工资核算内容历史数据数据集合 OR [] 空集合
	* @throws：异常描述
	*
	* @version: v1.0.0
	* @author: Bai
	* @date: 2021年2月3日 下午2:27:45 
	*
	* Modification History:<br>
	* Date         Author          Version            Description
	*---------------------------------------------------------*<br>
	* 2021年2月3日     Bai              v1.0.0                                    新建 <br>
	 */
	@RequestMapping(value="/accountingContentHistoryByOriginalContent",method = RequestMethod.POST)
	@ApiOperation(value = "根据更改内容获取绩效工资核算内容历史数据列表")
	public List<BeanAccountingContentHistory> findByOriginalContent(@ApiParam(name = "originalContent",value="原始内容",required = true) @RequestParam(name="originalContent") String originalContent){
		return mapAccountingContentHistory.selectByOriginalContent(originalContent);
	};
	/**
	 * 
	* @Function: AccountingContentHistoryController.java
	* @Description: 根据原始倍数获取绩效工资核算内容历史数据数据列表
	*
	* @param:BigDecimal 原始倍数
	* @return：List<BeanAccountingContentHistory> 绩效工资核算内容历史数据数据集合 OR [] 空集合
	* @throws：异常描述
	*
	* @version: v1.0.0
	* @author: Bai
	* @date: 2021年2月3日 下午2:35:52 
	*
	* Modification History:<br>
	* Date         Author          Version            Description
	*---------------------------------------------------------*<br>
	* 2021年2月3日     Bai              v1.0.0             	新建 <br>
	 */
	@RequestMapping(value="/accountingContentHistoryByOriginalMultiple",method = RequestMethod.POST)
	@ApiOperation(value = "根据原始倍数获取绩效工资核算内容历史数据列表")
	public List<BeanAccountingContentHistory> findByOriginalMultiple(@ApiParam(name = "originalMultiple",value="原始倍数",required = true) @RequestParam(name="originalMultiple") BigDecimal originalMultiple){
		return mapAccountingContentHistory.selectByOriginalMultiple(originalMultiple);
	};
	/**
	 * 
	* @Function: AccountingContentHistoryController.java
	* @Description: 根据数据编号删除数据
	*
	* @param: int 数据编号
	* @return： boolean true OR false
	* @throws：异常描述
	*
	* @version: v1.0.0
	* @author: Bai
	* @date: 2021年2月3日 下午2:41:12 
	*
	* Modification History:<br>
	* Date         Author          Version            Description
	*---------------------------------------------------------*<br>
	* 2021年2月3日     Bai              v1.0.0                                   新建<br>
	 */
	@RequestMapping(value="/removeAccountingContentHistory",method = RequestMethod.POST)
	@ApiOperation(value = "根据数据编号删除数据")
	public boolean delete(@ApiParam(name = "id",value="数据编号",required = true) @RequestParam(name="id") int id){
		return mapAccountingContentHistory.delete(id);
	};
	/**
	 * 
	* @Function: AccountingContentHistoryController.java
	* @Description: 更新绩效工资核算内容历史数据(数据编号、员工编号除外)
	*
	* @param: BeanAccountingContentHistory 绩效工资核算内容历史数据实体
	* @return： boolean true OR false
	* @throws：异常描述
	*
	* @version: v1.0.0
	* @author: Bai
	* @date: 2021年2月3日 下午2:54:19 
	*
	* Modification History:<br>
	* Date         Author          Version            Description
	*---------------------------------------------------------*<br>
	* 2021年2月3日     Bai              v1.0.0                                   新建<br>
	 */
	@RequestMapping(value="/upAccountingContentHistory",method = RequestMethod.POST)
	@ApiOperation(value = "更新绩效工资核算内容历史数据(数据编号、员工编号除外)")
	@ApiImplicitParams({
		@ApiImplicitParam(paramType="query",name="id",dataType="int",required=true,value="数据编号"),
		@ApiImplicitParam(paramType="query",name="staffCode",dataType="String",required=false,value="该数据无需填写"),
		@ApiImplicitParam(paramType="query",name="changeContent",dataType="String",required=true,value="更改内容"),
		@ApiImplicitParam(paramType="query",name="originalContent",dataType="String",required=true,value="原始内容"),
		@ApiImplicitParam(paramType="query",name="changeDate",dataType="String",required=true,value="更改时间"),
		@ApiImplicitParam(paramType="query",name="effectiveDate",dataType="String",required=true,value="生效日期"),
		@ApiImplicitParam(paramType="query",name="changeType",dataType="String",required=true,value="更改类型：更新、删除、新增"),
		@ApiImplicitParam(paramType="query",name="originalAmount",dataType="String",required=true,value="原始金额"),
		@ApiImplicitParam(paramType="query",name="changeAmount",dataType="String",required=true,value="更改金额"),
		@ApiImplicitParam(paramType="query",name="originalMultiple",dataType="String",required=true,value="原始倍数"),
		@ApiImplicitParam(paramType="query",name="changeMultiple",dataType="String",required=true,value="更改倍数")
	})
	public boolean up(BeanAccountingContentHistory bach){
		return mapAccountingContentHistory.update(bach);
	};
	/**
	 * 
	* @Function: AccountingContentHistoryController.java
	* @Description: 更新绩效工资核算内容历史数据(数据编号除外)
	*
	* @param:BeanAccountingContentHistory 绩效工资核算内容历史数据实体
	* @return： boolean true OR false
	* @throws：异常描述
	*
	* @version: v1.0.0
	* @author: Bai
	* @date: 2021年2月3日 下午2:57:47 
	*
	* Modification History:<br>
	* Date         Author          Version            Description
	*---------------------------------------------------------*<br>
	* 2021年2月3日     Bai              v1.0.0                                   新建 <br>
	 */
	@RequestMapping(value="/upAllAccountingContentHistory",method = RequestMethod.POST)
	@ApiOperation(value = "更新绩效工资核算内容历史数据(数据编号除外)")
	@ApiImplicitParams({
		@ApiImplicitParam(paramType="query",name="id",dataType="int",required=true,value="数据编号"),
		@ApiImplicitParam(paramType="query",name="staffCode",dataType="String",required=true,value="员工编号"),
		@ApiImplicitParam(paramType="query",name="changeContent",dataType="String",required=true,value="更改内容"),
		@ApiImplicitParam(paramType="query",name="originalContent",dataType="String",required=true,value="原始内容"),
		@ApiImplicitParam(paramType="query",name="changeDate",dataType="String",required=true,value="更改时间"),
		@ApiImplicitParam(paramType="query",name="effectiveDate",dataType="String",required=true,value="生效日期"),
		@ApiImplicitParam(paramType="query",name="changeType",dataType="String",required=true,value="更改类型：更新、删除、新增"),
		@ApiImplicitParam(paramType="query",name="originalAmount",dataType="String",required=true,value="原始金额"),
		@ApiImplicitParam(paramType="query",name="changeAmount",dataType="String",required=true,value="更改金额"),
		@ApiImplicitParam(paramType="query",name="originalMultiple",dataType="String",required=true,value="原始倍数"),
		@ApiImplicitParam(paramType="query",name="changeMultiple",dataType="String",required=true,value="更改倍数")
	})
	public boolean upAll(BeanAccountingContentHistory bach){
		return mapAccountingContentHistory.updateAll(bach);
	};
	/**
	 * 
	* @Function: AccountingContentHistoryController.java
	* @Description: BeanAccountingContentHistory 绩效工资核算内容历史数据实体
	*
	* @param:BeanAccountingContentHistory 
	* @return：boolean true OR false
	* @throws：异常描述
	*
	* @version: v1.0.0
	* @author: Bai
	* @date: 2021年2月3日 下午3:06:00 
	*
	* Modification History:<br>
	* Date         Author          Version            Description
	*---------------------------------------------------------*<br>
	* 2021年2月3日     Bai              v1.0.0                                   新建 <br>
	 */
	@RequestMapping(value="/addAccountingContentHistory",method = RequestMethod.POST)
	@ApiOperation(value = "添加绩效工资核算历史数据")
	@ApiImplicitParams({
		@ApiImplicitParam(paramType="query",name="id",dataType="int",required=false,value="该数据无需填写"),
		@ApiImplicitParam(paramType="query",name="staffCode",dataType="String",required=true,value="员工编号"),
		@ApiImplicitParam(paramType="query",name="changeContent",dataType="String",required=true,value="更改内容"),
		@ApiImplicitParam(paramType="query",name="originalContent",dataType="String",required=true,value="原始内容"),
		@ApiImplicitParam(paramType="query",name="changeDate",dataType="String",required=true,value="更改时间"),
		@ApiImplicitParam(paramType="query",name="effectiveDate",dataType="String",required=true,value="生效日期"),
		@ApiImplicitParam(paramType="query",name="changeType",dataType="String",required=true,value="更改类型：更新、删除、新增"),
		@ApiImplicitParam(paramType="query",name="originalAmount",dataType="String",required=true,value="原始金额"),
		@ApiImplicitParam(paramType="query",name="changeAmount",dataType="String",required=true,value="更改金额"),
		@ApiImplicitParam(paramType="query",name="originalMultiple",dataType="String",required=true,value="原始倍数"),
		@ApiImplicitParam(paramType="query",name="changeMultiple",dataType="String",required=true,value="更改倍数")
	})
	public boolean add(BeanAccountingContentHistory bach){
		return mapAccountingContentHistory.insertInto(bach);
	};
}
